As the Internet technologies become developed and popularized increasingly, the network applications become more and more diversified. In recent years, owing to development of the overall network environment, the Voice over Internet Protocol (VoIP) service has become one of the important network applications gradually.
Terminals establish voice calls with each other by registering with an SIP (Session Initiation Protocol) server and making and receiving calls according to each other's IP addresses. As IPv4 (Internet Protocol version 4) addresses become exhausted gradually, some of the terminals now begin to be assigned with both an IPv4 address and an IPv6 (Internet Protocol version 6) address. However, assignment of IPv6 addresses is still not so widespread. Therefore, even if a calling terminal has both an IPv4 address and an IPv6 address, it still can not be guaranteed that the called terminal also has both an IPv4 address and an IPv6 address. Furthermore, the calling terminal only knows an identification (ID) code (e.g., a user name, a network telephone number etc.) of the called terminal but doesn't know whether the called terminal is assigned with both the IPv4 address and the IPv6 address.
As the calling terminal certainly will try to use the IPv6 address thereof firstly to make a call, a problem will arise if the called terminal has only an IPv4 address. In view of this, the following solution has been proposed in the prior art (see Whai-En Chen, Quincy Wu, Yi-Bing Lin and Yung-Chieh Lo: ‘Design of SIP Application Level Gateway for IPv6 Translation’, Journal of Internet Technology, 2004, Vol. 5 No. 2, pp. 147-154; and Yang Xia, Bu Sung Lee, Chai Kiat Yeo, Vincent Lim Sok Seng: ‘An IPv6 Translation Scheme for Small and Medium Scale Deployment’, Advance in Future Internet (AFIN), July 2010): by use of the Application Layer Gateway (ALG) technology, transformation between the IPv6 address and the IPv4 address included in messages and voice data is carried out by the SIP server so that the calling terminal can use the IPv6 address thereof to make a call to the called terminal and the called terminal can use the IPv4 address thereof to receive the call from the calling terminal.
Besides the aforesaid solution, a redirection technology has also been proposed in the prior art (see Mulahusic J, Person H.: ‘SIP issue in dual-stock environment’, Internet-Draft, draft-person-sipping-sip-issue-dual-stack-00, February 2003). According to the redirection technology, the SIP server which has received the invite message transmitted by the calling terminal determines whether the called terminal is assigned with an IPv6 address. If the called terminal is not assigned with an IPv6 address, then a specific message is transmitted to inform the calling terminal of this so that the calling terminal changes to use the IPv4 address thereof instead.
Furthermore, the following solution has also been proposed in the prior art (see Whai-En Chen, Ya-Lin Huang, Yi-Bing Lin: ‘An effective IPv4-IPv6 translation mechanism for SIP applications in next generation network, Int. J. Communication System, 2012, 23(8), pp. 919-928): by use of the Call Session Control Function technology, the SIP server which has received the invite message transmitted by the calling terminal determines whether the called terminal is assigned with an IPv6 address. If the called terminal is not provided with an IPv6 address, then the IPv6 information included in the invite message is transformed into IPv4 information so that the called terminal establishes a voice call with the calling terminal according to the IPv4 information. However, because the aforesaid three prior art solutions all require the SIP server to transform or coordinate between the IPv4 information and the IPv6 information, an increased burden of the SIP server and a transmission delay will be caused.
Accordingly, an urgent need exists in the art to provide a mechanism of establishing a voice call which can effectively reduce the burden of the SIP server and avoid the transmission delay.